package org.rain.core.codegen;

import freemarker.template.Configuration;

import java.io.File;
import java.util.List;
import java.util.Map;

/**
 * created by yangtong on 2025/4/6 下午4:11
 * <br/>
 * 代码生成服务
 */
public interface ITemplateFillService {

    /**
     * 获取freemarker的Configuration对象
     */
    Configuration getCfg();

    /**
     * 获取模型数据
     */
    Map<String, Object> getModel();

    /**
     * 获取模板基础路径
     */
    List<String> listTemplateNames();

    /**
     * 加载所有模板文件
     * @return
     */
    List<File> listFiles();

    /**
     * 根据模板字符串渲染文件名字
     */
    String renderFileName(String templateStr);

    /**
     * 渲染文件内容
     */
    String renderContent(String fileName);

}
